home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / sml_nj / 93src.lha / src / elaborate / elabutil.sig < prev    next >
Encoding:
Text File  |  1993-01-27  |  2.1 KB  |  51 lines

  1. (* Copyright 1992 by AT&T Bell Laboratories *)
  2.  
  3. (* Utility functions to build absyn from ast *)
  4.  
  5. signature ELABUTIL =
  6.   sig
  7.     val CONSexp : Absyn.exp
  8.     val CONSpat : Absyn.pat -> Absyn.pat
  9.     val FALSEexp : Absyn.exp
  10.     val FALSEpat : Absyn.pat
  11.     val NILexp : Absyn.exp
  12.     val NILpat : Absyn.pat
  13.     val SELECTORexp : Symbol.symbol -> Absyn.exp
  14.     val TRUEexp : Absyn.exp
  15.     val TRUEpat : Absyn.pat
  16.     val TUPLEexp : Absyn.exp list -> Absyn.exp
  17.     val TUPLEpat : Absyn.pat list -> Absyn.pat
  18.     val WHILEexp : Absyn.exp * Absyn.exp -> Absyn.exp
  19.     val IFexp : Absyn.exp * Absyn.exp * Absyn.exp -> Absyn.exp
  20.     val unitExp : Absyn.exp
  21.     val unitPat : Absyn.pat
  22.     val bindVARp : Absyn.pat list * ErrorMsg.complainer -> Modules.env
  23.     val checkUniq : ErrorMsg.complainer * string -> Symbol.symbol list -> unit
  24.     val clean_pat : ErrorMsg.complainer -> Absyn.pat -> Absyn.pat
  25.     val completeMatch : string -> Absyn.rule list -> Absyn.rule list
  26.     val completeMatch' :
  27.        Absyn.rule -> Absyn.rule list -> Absyn.rule list
  28.     val makeAPPpat : ErrorMsg.complainer -> Absyn.pat * Absyn.pat -> Absyn.pat
  29.     val makeHANDLEexp : Absyn.exp * Absyn.rule list -> Absyn.exp
  30.     val makeLAYEREDpat : Absyn.pat * Absyn.pat * ErrorMsg.complainer -> Absyn.pat
  31.     val makeRECORDexp : 
  32.       (Symbol.symbol * Absyn.exp) list * ErrorMsg.complainer -> Absyn.exp
  33.     val makeRECORDpat :
  34.       (Symbol.symbol * Absyn.pat) list * bool * ErrorMsg.complainer -> Absyn.pat
  35.     val makeTB :
  36.       Types.tyvar list * Symbol.symbol * 
  37.       (Types.ty * TyvarSet.tyvarset) * ErrorMsg.complainer -> 
  38.       bool -> 'a * Symbol.symbol list 
  39.       -> Absyn.tb list * Modules.binding Env.env
  40.     val makeTYPEdec : 
  41.       (Absyn.tb list * Modules.binding Env.env) * ErrorMsg.complainer
  42.        -> Absyn.dec * Modules.binding Env.env
  43.     val pat_id : 
  44.       Modules.spath * Modules.binding Env.env * ErrorMsg.complainer -> Absyn.pat
  45.     val sortRecord :
  46.       (Symbol.symbol * 'a) list * ErrorMsg.complainer -> (Symbol.symbol * 'a) list
  47.     val FUNdec :
  48.       (Absyn.fb list * (Ast.linenum * Ast.linenum -> string)
  49.       * (Ast.linenum * Ast.linenum))-> Absyn.dec
  50.   end
  51.